#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
  // pid_t是数据类型，实际上是一个整型
  // 通过typedef重新定义了一个名字，用于存储进程id

  pid_t pid;
  pid_t cid;

  // getpid()函数返回当前进程的id号
  printf("Before fork Process id:%d\n", getpid());

  // fork()函数用于创建一个新的进程，该进程为当前进程的子进程，
  // fork的返回值：
  //     如果成功创建子进程，对于父子进程会返回不同的值，
  //     对于父进程他的返回值是子进程的id值，对于子进程，他的返回值为0
  //     如果创建失败，则返回-1

  fork();

  printf("After fork Process id:%d\n", getpid());

  pause();

  return 0;
}